编者按:从各大企业的实践来看,标准化和工具赋能是科技公司成功的关键所在。DevOps 标准及基于标准的 DevOps 持续交付流水线平台,使得企业的软件研发效能飞速提升、更快更灵活应对市场变化,助力IT成为企业的核心竞争力之一。
由云计算开源产业联盟指导、高效运维社区和 DevOps 时代社区联合举办的 GNSEC 2020 全球新一代软件工程线上峰会于 2020 年 6 月 19 日举行,本次峰会线上参会人员超过 3000 人。峰会专注于全方位的软件工程和技术,致力于定义新一代的软件工程,旨在聚集软件工程行业的专家、学者、从业者,讲述重要的最新研究成果,并分享最前端的实践经验,同时促进产、学、研领域的专家互相交流与合作。
大会隆重发布了 DevOps 标准持续交付部分第七批评估结果。本次发布的参评企业除了中国农业银行(5个项目)之外,还包括交行卡中心、浦发总行、招商银行(3个项目)、中国人民保险 和泰康保险等。中国农业银行本次参评的 5 个项目均顺利通过由中国信息通信研究院(以下简称信通院)开展的《研发运营一体化( DevOps )能力成熟度模型》持续交付部分3级评估。DevOps 标准共分5级,持续交付部分如果能达到 3 级已经是国内领先水准,这代表着中国农业银行在参评项目的持续交付能力达到国内领先水平。 中国农业银行通过 DevOps 标准持续交付部分的 3 级评估的项目,分别是:信贷中台项目
个人网银项目
分布式应用互联平台(AIR)项目
增值税进项税管理项目
金融小店项目
评测单位:中国信息通信研究院
中国信息通信研究院云计算与大数据研究所所长何宝宏博士公布中国农业银行评估结果:
此次,我们采访了中国农业银行研发中心副总经理赵韵东先生,研发中心项目管理办公室部门总经理刘芝女士,一同深聊中国农业银行五个项目参与评估的细节和幕后团队的故事,分享中国农业银行 DevOps 实践的经验。
Q:您好,请介绍一下您和您的企业,以及此次参与评估的 5 个项目。赵:农业银行研发中心作为承载农业银行信息化建设和金融科技创新重任的总行直属部门,为农行各境内外分支机构及控股子公司,在零售银行、公司银行、投资银行、基金管理、金融租赁、资产管理、人寿保险等多业务领域提供完善、可靠的金融交易支撑,为全球逾 5 亿客户提供高效稳健的金融交易服务。目前研发中心设本部和 6 个分研发部,分别在北京、上海、广州、天津、成都、西安,共有研发人员 3000 多人。本次参评共有五个项目,覆盖 Java 技术栈、C#技术栈,云上云下、中台前台、服务端移动端、微服务架构等方面,涉及进项发票、移动营销、信贷、个人网上银行、分布式互联等业务领域,通过工具、流程、规范三方面的建设,打通了需求、开发、测试、部署、运维等环节并形成闭环管理,实现可靠可重复、高效灵活的价值交付。Q:恭喜贵单位本次有多个项目同时通过 DevOps 持续标准3级评估,选择多个项目而不是一个项目来参加评估,您这边主要是基于哪些考虑?赵:选择五个项目而不是一个项目参评,主要与我行实施 DevOps 提质增效的核心目有直接关系,一方面是覆盖我行研发主流技术栈,为将来规模化推广打好基础,提升农行整体科技竞争力。特别是,这次参评的个人网银是直接面向个人客户服务、面向互联网金融发展的大金融平台,用户规模达到亿级,日均 8000 多万交易量,需求多、变更频繁,近 180 万行代码,且是C#技术栈,但我们依然选择该项目参与评估,并全线贯通了 DevOps 持续交付的各个能力要求,具备需求到产品的快速交付能力,充分证明了我行践行 DevOps 全面提升能力的决心和执行力。另一方面是五个项目同时参评可以比学赶超,也可以抱团取暖,互相借鉴和促进。人多力量大,当然组织级的支持压力会更大,对我们确实是个挑战,但为了提质增效的目标,我们不惧艰难,迎难而上。
Q:本次贯标过程中,遇到过哪些让您印象深刻的困难及挑战,是如何克服的?赵:DevOps 落地是个苦活、累活,但我们只用了一年时间,过程确实比较艰辛,而 DevOps 是提升整体效能的基础工作,价值重大,意义深远,我们也不惧挑战。在此过程中,有几点让我印象深刻的挑战:一是跨部门组织协调方面,本次工程跨了两中心近 20 个部门,协调难度之大可想而知。
二是工具链本地化建设方面,基于既有自研和已购工具做定制化开发,投入成本很大,困难点多。
三是度量体系建设方面,应该说度量是看似简单实则很难的一个领域,尤其要结合企业管理导向和评估要求,以往企业更关注组织级数据,评估则更注重项目过程数据,所以我们几乎是从头开始搭建。
四是行内制度突破方面,作为大型金融企业,有一系列全面、严谨的制度和规范, DevOps 倡导的标准化、自动化理念必然会改变现有操作流程,如简化投产变更流程、测试生产网络可控连通。因此,在推动制度突破、试点与常规管理流程与衔接方面投入了不少精力。
五是对标准要求的理解和认知方面,确保各工作条线深刻理解、与达成一致也经历了一个较长的过程。
六是恰逢新冠肺炎疫情,在一季度攻坚时刻,无法现场办公,沟通成本大大增加。
但农行研发人不畏艰辛、合力攻坚,通过多次召开专题会、多部门骨干人员协同钻研、针对性的排查问题等方式,共同推进 DevOps 各项能力落地。
比如:在第二次模拟评估前一周,发现参评项目遗漏了设定自研组件的自动化流水线机制,因此组件入库方面多个能力项面临评估门槛性问题。分布式互联项目组作为首个参加二模的项目,誓要在二模前完成自研组件自动化入库的流水线贯通。但因组件使用的制品库和应用使用的镜像制品库从架构设计上属于两种模式,因此也面临了不同机制的变更追溯、组件晋级、自动化测试等多个难点急需解决。项目组通过查阅大量资料,学习借鉴业界的各项先进经验,并在组织级给予的大量资源支持下,创造性完成了自研组件的流水线设计。
增值税进项税项目涉及新建两个系统,均采用前后端分离技术,基于 Sping Cloud 创建了云上“两个前端+两个后端”的微服务体系架构,面对复杂的技术架构以及庞大的系统体量,项目组迎难而上,历经了一年的持续改进和优化,开发和测试团队不仅自主研发了自动化单元测试框架、接口测试框架、界面测试框架等多项技术组件,还设计实现了针对微服务的“前端+后端”特色化 CI/CD 流水线,不仅仅是单体服务满足了DevOps 的标准要求,更实现了我行“微服务”架构体系的贯标。
中国农业银行研发中心
项目管理办公室部门总经理刘芝
Q:从您的既往经验来看,DevOps 标准与其他常见IT标准,有何不同之处?
刘:DevOps 标准与常见的其他IT标准,比如 CMMI 和 TMMI 等标准有很大的不同, DevOps 更关注工程技术能力,强调需求从开发到投产运维的全流程自动化,而CMMI 和 TMMI 标准则偏向组织级规范管理。DevOps 通过标准化的流程规范、实现各工具的贯通、同时确保各工具数据间的共享和连通,实现度量数据的可视化,从而通过自动化的方式,简化流程提升效率,实现端到端的快速价值交付。Q:本次贯标,您单位有哪些收获?在 DevOps 方面,接下来有哪些规划?刘:本次贯标给我们中心 DevOps 建设开了个好头,也让 DevOps 建设的目标更加清晰具体、可触碰。后续中心将进一步、持续的深化 DevOps 建设,研究建立本地化 DevOps 体系,优化工具、流程、规范、数据可视化,培养自有 DevOps 人才队伍建设,通过度量反馈来驱动改进,把 DevOps 做实、做强,提升科技支撑能力,赋能研发中心数字化转型,助力金融科技创新和我行市场竞争力。
Q: 您可否详细的介绍一下,通过本次评估有哪些数据指标可以直观的体现项目改进成果?
刘:DevOps 从概念提出、发展至今,内涵已超越了最开始的研发运营一体化,覆盖到了软件价值交付端到端的全过程,其核心目标是快速、高质量交付可工作软件,它不仅仅是软件工程层面变革,也是企业文化及管理流程的变革。DevOps 的初衷及定位,是符合市场需要且永不过时的诉求,这就为 DevOps 赋予了强大生命力和发展空间。希望 DevOps 可以造福国内更多的企业,让企业数字化蔚然成风。
中国农业银行项目评估现场图:
工具链示意图
项目仪表板应用
需求拆分及迭代管理
电子看板
流水线设置示例
研发运营一体化(DevOps)能力成熟度模型介绍:
全球首个 DevOps 标准,即《研发运营一体化(DevOps)能力成熟度模型》,由中国信息通信研究院牵头,联合云计算开源产业联盟、高效运维社区、 DevOps 时代社区、 Google、BATJ、清华大学、南京大学、通信及金融等行业顶尖企事业单位专家共同制定。目前,由中国信息通信研究院主导的DevOps标准已在联合国直属标准化组织 ITU-T、中国通信标准化协会(CCSA)正式立项。DevOps 标准评估体系主要包括敏捷开发管理、持续交付、技术运营、应用设计、安全及风险管理、系统和工具等部分的评估。
中国信息通信研究院@刘凯铃
邮箱:liukailing@caict.ac.cn
高效运维社区@东辉
邮箱:yangdonghui@greatops.net